"""
这道题表面上考察的是列表的相关操作，
但是实际上更深却是考察的集合的交集、差集、并集操作。
"""
list1 = [1,2,3,3]
list2 = [1,3,2,4]
print(list(set(list1) & set(list2))) # [1, 2, 3]
print(list(set(list1) | set(list2))) # [1, 2, 3, 4]
print(list(set(list1) - set(list2))) # []

"""
集合对象是一种无序的集合数据类型，它是可迭代的，可变的，并且没有重复的元素。
所以，我们可以利用集合去实现列表去重。
"""
list1 = [1,2,3,3,5]
print(set(list1)) # {1,2,3,5}

"""
另外还有需要掌握的集合方法有：
增加新的元素到集合中： a.add(el)
从集合中移除元素：`a.remove(el)`，注意如果元素不存在会引发`KeyError`。
安全的使用方法是`a.discard(el)`，只删除存在的元素。
"""
set1 = {1,2,3,4}
set1.add(5)
print(set1) # {1,2,3,4,5}
print(set1.remove(6)) # keyError
print(set1.discard(6)) # 返回None